home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / web / spiderweb / tools / excerpt / excerpt < prev    next >
Text File  |  1991-01-14  |  1KB  |  55 lines

  1. #!/bin/sh
  2. # Take excerpts from a TeX file generated by Weave
  3.  
  4. LIB=$HOME/lib/`cputype`
  5.  
  6. if [ $# -ne 1 ]; then
  7.   echo "Usage: excerpt name" 1>&2
  8.   exit 1
  9. fi
  10.  
  11. if [ -r $1.tex ]; then
  12.   lines=`sed '/^ *\([0-9]*\).*\\N[0-9]*[.] *\([^ ]\)\([^.]*\)[.].*$/!d
  13. /^ *\([0-9]*\).*\\N[0-9]*[.] *\([^ ]\)\([^.]*\)[.].*$/=
  14. s/^.*\\N[0-9]*[.] *\([^ ]\)\([^.]*\)[.].*$/\1    \2/
  15. ' $1.tex | awk 'BEGIN { FS="    " # tab
  16.     OFS="    " # tab
  17.     level["="]=-1
  18.     level["1"]=1
  19.     level["2"]=2
  20.     level["3"]=3
  21.     level["4"]=4
  22.     }
  23. NF==1 {line=$1}
  24. NF==2 {
  25. #    print "\"" $1 "\"", level[$1]
  26.     if (level[$1]==0) {
  27.         name = $1 $2
  28.     } else {
  29.         name = $2
  30.         }
  31.     
  32.     print line
  33.     print level[$1]+1
  34.     print name
  35.     }' | $LIB/section`
  36.   while true; do
  37.     echo -n "Did you include the index in the excerpts [ny]? " 1>&2
  38.     read reply
  39.     if [ "$reply" = "" ]; then reply="n" ; fi
  40.     case $reply in
  41.       [ny]) break ;;
  42.       *) echo "respond with y or n" 1>&2 ;;
  43.     esac
  44.   done
  45.   echo Splitting $1.tex... 1>&2
  46.   $LIB/filesplit - $lines < $1.tex > $1-excerpts.tex
  47.   if [ "$reply" = "n" ]; then
  48.      echo \\inx\\fin\\con >> $1-excerpts.tex
  49.   fi
  50. else
  51.   echo "I can't find the file $1.tex" 1>&2
  52.   exit 1
  53. fi
  54.  
  55.